package com.framework.common.auto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 授权token 用户实体
 *
 * @author Administrator
 */
@Data
@Accessors(chain = true)
@JsonIgnoreProperties(ignoreUnknown = true)
public class UserInfo implements Serializable {

    private Long id;
    private Long corpId;
    @ApiModelProperty(value = "用户类型 0普通用户 1管理员用户 2企业用户")
    private UserType userType;

    @ApiModelProperty(value = "用户名")
    private String username;

    @ApiModelProperty(value = "登录密码")
    private String password;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "别名")
    private String alias;

    @ApiModelProperty(value = "英文姓名")
    private String englishName;

    @ApiModelProperty(value = "头像")
    private String avatar;

    @ApiModelProperty(value = "头像缩略图url")
    private String thumbAvatar;

    @ApiModelProperty(value = "用户的性别，值为1时是男性，值为2时是女性，值为0时是未知")
    private String gender;

    private String genderName;

    @ApiModelProperty(value = "手机号")
    private String mobile;

    @ApiModelProperty(value = "隐藏手机号")
    private String hideMobile;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "座机")
    private String telephone;

    @ApiModelProperty(value = "职务")
    private String position;

    @ApiModelProperty(value = "管理员多角色")
    private String[] roleId;

    @ApiModelProperty(value = "sys 系统用户")
    private String adminType;

    @ApiModelProperty(value = "状态 0正常 1禁用")
    private Boolean isDisabled;

    @ApiModelProperty(value = "最后登录ip")
    private String lastLoginIp;

    @ApiModelProperty(value = "最后登录时间")
    private Date lastLoginTime;

    @ApiModelProperty(value = "省份")
    private String province;

    @ApiModelProperty(value = "城市")
    private String city;

    @ApiModelProperty(value = "地区")
    private String area;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "扩展字段")
    private String extattr;

    @ApiModelProperty(value = "是否超级管理员")
    private Boolean isSuper = false;

    @ApiModelProperty(value = "是否管理员")
    private Boolean isAdmin = false;
}
